With the greater incorporation of computing devices into everyday life, there is an increasing need for efficient and secure data transmission. Some methods of data transfer have been attempted, but they are insufficiently secure, user-friendly, and efficient for some applications. For example, some data transfer techniques include transfer of data via a wired connection (e.g., USB) or wirelessly (e.g., using WiFi, Bluetooth®, NFC, etc.). In some cases, these methods may not be feasible given the hardware or software limitations of the device being used. Further, these methods may not provide a secure and efficient mode of data transfer between a mobile device and a machine with which it is communicating.
Barcodes and other encoded labels permit quick data transfer between mobile devices and other computing devices. Different systems currently use a variety of barcodes to transfer data, authenticate users, or identify products. Such barcodes permit mobile devices to interact directly with computing devices to quickly receive or transfer data. For example, a mobile device can scan a barcode displayed by the computing device, decode the barcode, and thereby obtain data or instructions for transferring data. Barcodes may also be used to authorize user access to certain restricted locations or systems. Because traditional barcodes can be scanned by many devices, they present security risks, including transfer of malicious data, exposure of private information, or granting of access to an unauthorized user.
Accordingly, in view of these and other deficiencies in existing techniques, technological solutions are needed for secure communication of visual representations of data. Solutions should advantageously allow a user to securely, quickly, and efficiently transfer data from one computing device to another. Solutions should also permit multiple pieces of data to be transferred simultaneously. Such solutions should secure the data to prevent access by malicious entities, and also mislead malicious users with false (e.g., fictive or decoy) data. Solutions may also extradite an attack attempt. A computing device should be able to interact directly with another computing device, for example with a display of the computing device, to receive data or instructions for transferring the data. Advantageously, solutions should further allow the same process to be carried out by a terminal-based computing device or mobile device.